package com.bjb.vr.gateway.controller;

import com.alibaba.druid.stat.DruidStatManagerFacade;
import com.bjb.vr.common.result.CommonResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * 获取Druid数据源列表
 *
 * @author hujingbo
 * @version 1.0.0
 * @createTime 2022年03月04日 11:01
 */
@RestController
@RequestMapping("/api/gateway/v1")
public class DruidStatController {

    /**
     * 获取数据源的监控数据
     *
     * @return
     */
    @GetMapping("/druid/stat")
    public Object druidStat() {
        // 该方法可以获取所有数据源的监控数据，除此之外 DruidStatManagerFacade 还提供了一些其他方法，你可以按需选择使用。
        List<Map<String, Object>> statDataList = DruidStatManagerFacade.getInstance().getDataSourceStatDataList();
        return CommonResult.Ok().setResult(statDataList);
    }
}
